import java.util.*;
import java.util.ArrayList;
/*给你一个二维整数数组 ranges 和两个整数 left 和 right 。
每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 。
如果闭区间 [left, right] 内每个整数都被 ranges 中 至少一个 区间覆盖，那么请你返回 true ，否则返回 false 。
已知区间 ranges[i] = [starti, endi] ，如果整数 x 满足 starti <= x <= endi ，那么我们称整数x 被覆盖了。*/
public class Test {
    public static boolean check(int[][] x, int l, int r) {
        Arrays.sort(x, Comparator.comparingInt(a -> a[0]));
        int n = x.length;
        int cur = l - 1;
        int i = 0;
        while (i < n && cur < r) {
            if (x[i][1] < cur) {//完全覆盖
                i++;
                continue;
            }
            if (x[i][0] > cur + 1) {//起点>l无法覆盖
                return false;
            }
            cur = Math.max(cur, x[i][1]);//更新覆盖点
            i++;
        }
        return cur >= r;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[][] x = new int[n][2];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < 2; j++) {
                x[i][j] = sc.nextInt();
            }
        }
        int l = sc.nextInt();
        int r = sc.nextInt();
        boolean res = check(x, l, r);
        System.out.println(res);
    }
}